Skip to content

feat(X402-41): ADR-004 — v0.3.2 scope + JSON API stability + facilitator-aware verdict semantics#75

Merged
fardinvahdat merged 1 commit into
mainfrom
feat/X402-41-adr-004-v032-scope-and-json-api
May 22, 2026
Merged

feat(X402-41): ADR-004 — v0.3.2 scope + JSON API stability + facilitator-aware verdict semantics#75
fardinvahdat merged 1 commit into
mainfrom
feat/X402-41-adr-004-v032-scope-and-json-api

Conversation

@fardinvahdat
Copy link
Copy Markdown
Owner

Summary

X402-41 — first ticket in the v0.3.2 cycle. Pure docs. Locks 3 architectural pillars in DECISIONS.md before D.x implementation begins:

  1. Verdict taxonomy extension — new top-level upstream_stuck composite for stalled-indexer cases (Max precedent). Rolls up to exit code 3 to preserve the CI integration contract.
  2. JSON API stability commitment — snapshot tests + src/bazaar/json-api.md + versioning rule (additive minor, renames major) + ### JSON API CHANGELOG discipline. @TomSmart_ai's mapper integration depends on shape stability.
  3. Facilitator-aware verdict semantics — non-CDP services produce not_applicable_non_cdp states in D.2/D.3 → composite looks_correct (WAI), NOT upstream_issue. Pillar 3 derives from @Cryptor+@ferj correction (2026-05-21) establishing Bazaar indexing is CDP-only by design.

X402-37's historical reservation of "ADR-004" (stretch SLA-breach, never started) is superseded; renumber to next available ADR when/if X402-37 goes active.

Scope

  • DECISIONS.md only: append ADR-004 (106 lines) after ADR-003, before the closing ---
  • Pure docs; no code changes; no test changes; no dep changes

Strict audit gate — abbreviated (user-in-review-loop mode per ADR-003)

  • Stage 1 pre-work: branched off origin/main HEAD; .gitignore WIP on branch but NOT staged (hard rule docs(X402-8): SPEC.md v0.1 — implements the wedge from ADR-001 #7 preserved)
  • Stage 2 implementation: ADR-004 covers all 3 pillars + X402-37 collision note + 8-ticket layout reference
  • Stage 3 correctness: ✅ typecheck clean; ✅ lint+prettier clean; ✅ 429 tests pass + 4 skipped (v0.3.1 baseline); ✅ build clean; ✅ check:publish-surface 96 files / 352 KB / 0 devDep imports (under 400 KB cap)
  • Stage 4 edge cases: JSON API snapshot path no collision (will be created in X402-44); ADR sequence clean 001→004; final --- separator preserved; memory [[bazaar-indexing-spec]] + [[listing-readiness-framing]] both exist + updated today with CDP-only correction; all 8 Jira IDs + 3 PR IDs + 2 upstream issue IDs verified; em-dashes match ADR-003 style; only DECISIONS.md staged (.gitignore WIP not staged)
  • Stage 5 gap check: vs X402-41 AC — all 5 AC items satisfied; the 3rd pillar (facilitator-aware) was added during Batch 4 review and is folded in as a co-equal pillar; 8 risks + 5 rejected alternatives documented
  • Stage 6 ship: this PR; awaiting maintainer merge per [[user-merges-prs-themselves]] discipline

Test plan

What unblocks on merge

Per the dependency graph (10 Blocks links wired):

  • X402-42 (D.4 --endpoint) — parallel-safe start
  • X402-43 (D.5 variant-aware extensions.bazaar) — parallel-safe start
  • X402-44 (JSON API stability) — parallel-safe start

🤖 Generated with Claude Code

… stability + facilitator-aware verdict semantics

Locks 3 architectural pillars before D.x implementation begins:

1. Verdict taxonomy extension: new top-level `upstream_stuck` composite
   for stalled-indexer cases (Max precedent). Rolls up to exit code 3 to
   preserve the CI integration contract — verdict prose + JSON facets
   carry the granularity, exit-code surface stays a 3-value contract.

2. JSON API stability commitment: snapshot tests + `src/bazaar/json-api.md`
   + versioning rule (additive minor, renames major) + `### JSON API`
   CHANGELOG discipline. TomSmart's mapper integration depends on shape
   stability.

3. Facilitator-aware verdict semantics: non-CDP services produce
   `not_applicable_non_cdp` states in D.2/D.3 → composite `looks_correct`
   (WAI), NOT `upstream_issue`. Pillar 3 derives from the Cryptor+Ferj
   correction landing 2026-05-21 establishing Bazaar indexing is CDP-only
   by design.

X402-37's historical reservation of "ADR-004" (stretch SLA-breach, never
started) is superseded; renumber to next available when/if X402-37 goes
active.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
x402trace-dogfood Ready Ready Preview, Comment May 22, 2026 8:17pm

@fardinvahdat fardinvahdat merged commit bd7494a into main May 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant